package com.dave.admin.modular.boss.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.dave.admin.common.base.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * <p>
 * BOSS后台用户表
 * </p>
 *
 * @author Dave
 * @since 2024-08-08
 */
@TableName("boss_user_admin")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class UserAdmin extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 登录名
     */
    private String username;

    /**
     * 密码
     */
    @JsonIgnore
    private String password;

    /**
     * 姓名
     */
    private String nickName;

    /**
     * 职位
     */
    private String title;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 地址
     */
    private String location;

    /**
     * 个性签名
     */
    @TableField("`describe`")
    private String describe;

    /**
     * 头像
     */
    private String avatar;

    /**
     * 标签
     */
    private String tags;

    /**
     * 最后登录时间
     */
    private LocalDateTime loginTime;

    /**
     * 帐号启用状态：0->禁用；1->启用
     */
    private Integer status;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String getDescribe() {
        return describe;
    }

    public void setDescribe(String describe) {
        this.describe = describe;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public String getTags() {
        return tags;
    }

    public void setTags(String tags) {
        this.tags = tags;
    }

    public LocalDateTime getLoginTime() {
        return loginTime;
    }

    public void setLoginTime(LocalDateTime loginTime) {
        this.loginTime = loginTime;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public static final String USERNAME = "username";

    public static final String PASSWORD = "password";

    public static final String NICK_NAME = "nick_name";

    public static final String TITLE = "title";

    public static final String EMAIL = "email";

    public static final String LOCATION = "location";

    public static final String DESCRIBE = "describe";

    public static final String AVATAR = "avatar";

    public static final String TAGS = "tags";

    public static final String LOGIN_TIME = "login_time";

    public static final String STATUS = "status";

    @Override
    public String toString() {
        return "UserAdmin{" +
                "username=" + username +
                ", password=" + password +
                ", nickName=" + nickName +
                ", title=" + title +
                ", email=" + email +
                ", location=" + location +
                ", describe=" + describe +
                ", avatar=" + avatar +
                ", tags=" + tags +
                ", loginTime=" + loginTime +
                ", status=" + status +
                "}";
    }
}
